home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Tool Chest / Dev.CD Aug 98 TC.toast / Sample Code / Snippets / Sound / SquareWave / Source / SquareWaveSynthPlay.c
Encoding:
C/C++ Source or Header  |  1996-09-17  |  1.3 KB  |  79 lines  |  [TEXT/CWIE]

  1. /*
  2.     SquareWaveSynthPlay 12:29:17 PM  10/13/92 •  Brigham Stevens
  3.     
  4.     Plays a sound using the squareWaveSynth.
  5.  
  6.     Sets the timbre with timbreCmd
  7.     Starts playing witht the freqCmd
  8.     
  9. ##
  10. ##    copy to worksheet, select, press enter
  11. ###    
  12. ##    BuildCommands:
  13. ##
  14.     C -r  SquareWaveSynthPlay.c
  15.     Link -t APPL -c '????' SquareWaveSynthPlay.c.o ∂
  16.         "{Libraries}"Runtime.o ∂
  17.         "{Libraries}"Interface.o ∂
  18.         -o SquareWaveSynthPlay
  19.     SquareWaveSynthPlay
  20. */
  21.  
  22. #include <Dialogs.h>
  23. #include <Sound.h>
  24.  
  25. void SquareWaveSynthPlay();
  26.  
  27. void SquareWaveSynthPlay()
  28. {
  29.     SndChannelPtr    chan;
  30.     SndCommand        mycmd;
  31.     long            count;
  32.     short            change = 0;
  33.     short            err;
  34.     
  35.     
  36.     /* Allocate a channel tied to the squareWaveSynth */
  37.     chan = nil;
  38.     err = SndNewChannel (&chan, squareWaveSynth, 0, nil);
  39.     if (err) {
  40.         DebugStr("\p error SndNewChannel [2]");
  41.         goto bail;
  42.     }
  43.     
  44.     mycmd.cmd = freqCmd;
  45.     mycmd.param1 = 0;
  46.     mycmd.param2 = 50;
  47.     
  48.     err = SndDoImmediate (chan, &mycmd);
  49.     if (err) {
  50.         DebugStr("\p error SndDoImmediate [3]");
  51.         goto bail;
  52.     }
  53.         
  54.     mycmd.cmd = timbreCmd;
  55.     mycmd.param1 = 0;
  56.     mycmd.param2 = 86;
  57.     
  58.     err = SndDoImmediate (chan, &mycmd);
  59.     if (err) {
  60.         DebugStr("\p error SndDoImmediate [3]");
  61.         goto bail;
  62.     }
  63.     
  64.     Delay (180, &count);
  65.         
  66.     err = SndDisposeChannel (chan,false);
  67.     if (err) {
  68.         DebugStr("\p error SndDisposeChannel [2]");
  69.         goto bail;
  70.     }
  71. bail:
  72.     return;
  73. }
  74.  
  75.  
  76. void main()
  77. {
  78.     SquareWaveSynthPlay();
  79. }